package graphmanip;

import java.awt.Point;
import java.util.ArrayList;

import commonfunctions.Matrix;

/**
 * This class defines a method to remove edges from a graph.
 * 
 * @author Trevor Terris
 *
 */
public abstract class ThinningMethod 
{
	/**
	 * This method takes a Matrix of weights, and returns a list of Points. The coordinates of the points
	 * refer to the edge that is to be set to zero; if a point (3, 4) is in the list, then the edge 
	 * connecting vertex 3 to vertex 4 will be set to zero. This action is applied to all less-coarse
	 * versions of the matrix as well.
	 * 
	 * @param weights
	 * @return
	 */
	public abstract ArrayList<Point> thinGraph(Matrix weights);
}
